{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Adversarial-Robustness-Toolbox for CatBoost"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "from catboost import CatBoostClassifier\n",
    "\n",
    "from sklearn.datasets import load_iris\n",
    "\n",
    "import numpy as np\n",
    "from matplotlib import pyplot as plt\n",
    "\n",
    "from art.estimators.classification import CatBoostARTClassifier\n",
    "from art.attacks.evasion import ZooAttack\n",
    "from art.utils import load_mnist\n",
    "\n",
    "import warnings\n",
    "warnings.filterwarnings('ignore')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1 Training CatBoost classifier and attacking with ART Zeroth Order Optimization attack"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_adversarial_examples(x_train, y_train):\n",
    "    \n",
    "    # Create and fit CatBoost model\n",
    "    model = CatBoostClassifier(custom_loss=['Accuracy'], random_seed=42, logging_level='Silent')\n",
    "    model.fit(x_train, y_train, cat_features=None, eval_set=(x_train, y_train))\n",
    "\n",
    "    # Create ART classifier for CatBoost\n",
    "    art_classifier = CatBoostARTClassifier(model=model, nb_features=x_train.shape[1])\n",
    "\n",
    "    # Create ART Zeroth Order Optimization attack\n",
    "    zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=20,\n",
    "                    binary_search_steps=10, initial_const=1e-3, abort_early=True, use_resize=False, \n",
    "                    use_importance=False, nb_parallel=1, batch_size=1, variable_h=0.2)\n",
    "\n",
    "    # Generate adversarial samples with ART Zeroth Order Optimization attack\n",
    "    x_train_adv = zoo.generate(x_train)\n",
    "\n",
    "    return x_train_adv, model"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1.1 Utility functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "def get_data(num_classes):\n",
    "    x_train, y_train = load_iris(return_X_y=True)\n",
    "    x_train = x_train[y_train < num_classes][:, [0, 1]]\n",
    "    y_train = y_train[y_train < num_classes]\n",
    "    x_train[:, 0][y_train == 0] *= 2\n",
    "    x_train[:, 1][y_train == 2] *= 2\n",
    "    x_train[:, 0][y_train == 0] -= 3\n",
    "    x_train[:, 1][y_train == 2] -= 2\n",
    "    \n",
    "    x_train[:, 0] = (x_train[:, 0] - 4) / (9 - 4)\n",
    "    x_train[:, 1] = (x_train[:, 1] - 1) / (6 - 1)\n",
    "    \n",
    "    return x_train, y_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "def plot_results(model, x_train, y_train, x_train_adv, num_classes):\n",
    "    \n",
    "    fig, axs = plt.subplots(1, num_classes, figsize=(num_classes * 5, 5))\n",
    "\n",
    "    colors = ['orange', 'blue', 'green']\n",
    "\n",
    "    for i_class in range(num_classes):\n",
    "\n",
    "        # Plot difference vectors\n",
    "        for i in range(y_train[y_train == i_class].shape[0]):\n",
    "            x_1_0 = x_train[y_train == i_class][i, 0]\n",
    "            x_1_1 = x_train[y_train == i_class][i, 1]\n",
    "            x_2_0 = x_train_adv[y_train == i_class][i, 0]\n",
    "            x_2_1 = x_train_adv[y_train == i_class][i, 1]\n",
    "            if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n",
    "                axs[i_class].plot([x_1_0, x_2_0], [x_1_1, x_2_1], c='black', zorder=1)\n",
    "\n",
    "        # Plot benign samples\n",
    "        for i_class_2 in range(num_classes):\n",
    "            axs[i_class].scatter(x_train[y_train == i_class_2][:, 0], x_train[y_train == i_class_2][:, 1], s=20,\n",
    "                                 zorder=2, c=colors[i_class_2])\n",
    "        axs[i_class].set_aspect('equal', adjustable='box')\n",
    "\n",
    "        # Show predicted probability as contour plot\n",
    "        h = .01\n",
    "        x_min, x_max = 0, 1\n",
    "        y_min, y_max = 0, 1\n",
    "\n",
    "        xx, yy = np.meshgrid(np.arange(x_min, x_max, h), np.arange(y_min, y_max, h))\n",
    "\n",
    "        Z_proba = model.predict_proba(np.c_[xx.ravel(), yy.ravel()])\n",
    "        Z_proba = Z_proba[:, i_class].reshape(xx.shape)\n",
    "        im = axs[i_class].contourf(xx, yy, Z_proba, levels=[0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0],\n",
    "                                   vmin=0, vmax=1)\n",
    "        if i_class == num_classes - 1:\n",
    "            cax = fig.add_axes([0.95, 0.2, 0.025, 0.6])\n",
    "            plt.colorbar(im, ax=axs[i_class], cax=cax)\n",
    "\n",
    "        # Plot adversarial samples\n",
    "        for i in range(y_train[y_train == i_class].shape[0]):\n",
    "            x_1_0 = x_train[y_train == i_class][i, 0]\n",
    "            x_1_1 = x_train[y_train == i_class][i, 1]\n",
    "            x_2_0 = x_train_adv[y_train == i_class][i, 0]\n",
    "            x_2_1 = x_train_adv[y_train == i_class][i, 1]\n",
    "            if x_1_0 != x_2_0 or x_1_1 != x_2_1:\n",
    "                axs[i_class].scatter(x_2_0, x_2_1, zorder=2, c='red', marker='X')\n",
    "        axs[i_class].set_xlim((x_min, x_max))\n",
    "        axs[i_class].set_ylim((y_min, y_max))\n",
    "\n",
    "        axs[i_class].set_title('class ' + str(i_class))\n",
    "        axs[i_class].set_xlabel('feature 1')\n",
    "        axs[i_class].set_ylabel('feature 2')\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 2 Example: Iris dataset"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### legend\n",
    "- colored background: probability of class i\n",
    "- orange circles: class 1\n",
    "- blue circles: class 2\n",
    "- green circles: class 3\n",
    "- red crosses: adversarial samples for class i"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ZOO: 100%|██████████| 100/100 [00:40<00:00,  2.45it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 3 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_classes = 2\n",
    "x_train, y_train = get_data(num_classes=num_classes)\n",
    "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n",
    "plot_results(model, x_train, y_train, x_train_adv, num_classes)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ZOO: 100%|██████████| 150/150 [00:51<00:00,  2.90it/s]\n"
     ]
    },
    {
     "data": {
      "image/png": "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wX9zTwnLlu5LTY22vRHpCWqfUlPfSUT6klyuAY/tmwZgjInumxbbuNxa+/e49IuBc3JYnh63qfmgNtEtRxQv6eliiexu1DYlmTTZw/77n8tDD97HgqeCBIPhyODTZyzs6aKJ7G7UPiVR30lE+ppc3oKek33Teiu/U84HDTNx8BGkFAcfHzTM1NVckfxT25SkpqaSlSvvA0qpr+9Hc3MJ11w5VzPhIvmn9imO+k4i0hflcgY8a/umRTZFvxig2NU7G90mpzJy9dYXO+YiSJNTqWiXIvmVk7Zp5KjeG9Oyumo0Pl+QlriNMzzeANVVoxUpXCS/1HeKo76TiPRFuewxdnbftOnt7Ztmrb3fWjvNWjvNZ4pzUthcK3HV4CRd73DwUOJS51Ykz3LSNlX24i28Ro+pJhDwJhwLBryMHlPdQyUS2W2p7xRHfScR6Yty2WOM7ZtmjPER3jctISx73L5p0zPdN6238rnq2btsPi78eGjEhZ+9y+brCq5I/qltSlJZWcOds2dRXNxEecUuioubuHP2LM1+i+Sf2qc46juJSF+Us1vQrbVBY0x03zQ38GB03zTgnUjo9vh90wDWZxK6vbcaUbyESt9HNDmVlLhq9AUi0gPUNqU2fcZCDj/iTaqrRjN6TLUG3yI9QO1TW+o7iUhfk8s14FhrnweeTzp2Y9zzo3N5/kLkc9Xry0Okh6ltSq2yskYDb5EepvapLfWdRKQv6b2LFkVERERERER6EQ3ARURERERERPJAA3ARERERERGRPNAAXERERERERCQPNAAXERERERERyQMNwEVERERERETyQANwERERERERkTzQAFxEREREREQkDzQAFxEREREREckDT08XQERERERERISWAGbthp4uRU5pBlxEREREREQkDzQAFxEREREREckDDcBFRERERERE8kADcBEREREREZE80ABcREREREREJA80ABcRERERERHJAw3ARURERERERPJAA3ARERERERGRPNAAXERERERhYMY5AAALrElEQVRERCQPNAAXERERERERyQMNwEVERERERETyQANwERERERERkTzQAFxEREREREQkDzQAFxEREREREckDDcBFRERERERE8kADcBEREREREZE80ABcREREREREJIkx5jhjzMfGmNXGmGtT/LzIGPNk5OdvG2PGdZSnBuAiIiIiIiIicYwx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\n",
      "text/plain": [
       "<Figure size 1080x360 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "num_classes = 3\n",
    "x_train, y_train = get_data(num_classes=num_classes)\n",
    "x_train_adv, model = get_adversarial_examples(x_train, y_train)\n",
    "plot_results(model, x_train, y_train, x_train_adv, num_classes)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 3 Example: MNIST"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.1 Load and transform MNIST dataset"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [],
   "source": [
    "(x_train, y_train), (x_test, y_test), min_, max_ = load_mnist()\n",
    "\n",
    "n_samples_train = x_train.shape[0]\n",
    "n_features_train = x_train.shape[1] * x_train.shape[2] * x_train.shape[3]\n",
    "n_samples_test = x_test.shape[0]\n",
    "n_features_test = x_test.shape[1] * x_test.shape[2] * x_test.shape[3]\n",
    "\n",
    "x_train = x_train.reshape(n_samples_train, n_features_train)\n",
    "x_test = x_test.reshape(n_samples_test, n_features_test)\n",
    "\n",
    "y_train = np.argmax(y_train, axis=1)\n",
    "y_test = np.argmax(y_test, axis=1)\n",
    "\n",
    "n_samples_max = 200\n",
    "x_train = x_train[0:n_samples_max]\n",
    "y_train = y_train[0:n_samples_max]\n",
    "x_test = x_test[0:n_samples_max]\n",
    "y_test = y_test[0:n_samples_max]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.2 Train CatBoostClassifier classifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<catboost.core.CatBoostClassifier at 0x7f87386eb1d0>"
      ]
     },
     "execution_count": 8,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model = CatBoostClassifier(custom_loss=['Accuracy'], random_seed=42, logging_level='Silent', depth=8, iterations=20)\n",
    "model.fit(x_train, y_train, cat_features=None, eval_set=(x_train, y_train))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.3 Create and apply Zeroth Order Optimization Attack with ART"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "art_classifier = CatBoostARTClassifier(model=model, nb_features=x_train.shape[1])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "zoo = ZooAttack(classifier=art_classifier, confidence=0.0, targeted=False, learning_rate=1e-1, max_iter=100,\n",
    "                binary_search_steps=20, initial_const=1e-3, abort_early=True, use_resize=False, \n",
    "                use_importance=False, nb_parallel=10, batch_size=1, variable_h=0.25)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ZOO: 100%|██████████| 200/200 [36:15<00:00, 10.88s/it]\n"
     ]
    }
   ],
   "source": [
    "x_train_adv = zoo.generate(x_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "ZOO: 100%|██████████| 200/200 [19:09<00:00,  5.75s/it]\n"
     ]
    }
   ],
   "source": [
    "x_test_adv = zoo.generate(x_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3.4 Evaluate CatBoostClassifier on benign and adversarial samples"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Training Score: 0.9950\n"
     ]
    }
   ],
   "source": [
    "y_pred = model.predict_proba(x_train)\n",
    "score = np.sum(y_train == np.argmax(y_pred, axis=1)) / y_train.shape[0]\n",
    "print(\"Benign Training Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_train[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Training Predicted Label: 5\n"
     ]
    }
   ],
   "source": [
    "prediction = np.argmax(model.predict_proba(x_train[0:1, :]), axis=1)\n",
    "print(\"Benign Training Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Training Score: 0.0850\n"
     ]
    }
   ],
   "source": [
    "y_pred = model.predict_proba(x_train_adv)\n",
    "score = np.sum(y_train == np.argmax(y_pred, axis=1)) / y_train.shape[0]\n",
    "print(\"Adversarial Training Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_train_adv[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Training Predicted Label: 3\n"
     ]
    }
   ],
   "source": [
    "prediction = np.argmax(model.predict_proba(x_train_adv[0:1, :]), axis=1)\n",
    "print(\"Adversarial Training Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Test Score: 0.6450\n"
     ]
    }
   ],
   "source": [
    "y_pred = model.predict_proba(x_test)\n",
    "score = np.sum(y_test == np.argmax(y_pred, axis=1)) / y_test.shape[0]\n",
    "print(\"Benign Test Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_test[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Benign Test Predicted Label: 7\n"
     ]
    }
   ],
   "source": [
    "prediction = np.argmax(model.predict_proba(x_test[0:1, :]), axis=1)\n",
    "print(\"Benign Test Predicted Label: %i\" % prediction)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Test Score: 0.1400\n"
     ]
    }
   ],
   "source": [
    "y_pred = model.predict_proba(x_test_adv)\n",
    "score = np.sum(y_test == np.argmax(y_pred, axis=1)) / y_test.shape[0]\n",
    "print(\"Adversarial Test Score: %.4f\" % score)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 288x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.matshow(x_test_adv[0, :].reshape((28, 28)))\n",
    "plt.clim(0, 1)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Adversarial Test Predicted Label: 3\n"
     ]
    }
   ],
   "source": [
    "prediction = np.argmax(model.predict_proba(x_test_adv[0:1, :]), axis=1)\n",
    "print(\"Adversarial Test Predicted Label: %i\" % prediction)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
